#include <iostream>
using namespace std;

void func(char *p)
{
    cout << "void func(char *p)" << endl;
}
void func(int p)
{
    cout << "void func(int p)" << endl;
}
using func_ptr = int(*)(int);
// 没有捕获任何外部变量的匿名函数
func_ptr f = [](int a)->int
{
    return a;  
};

int main()
{
    char *a=NULL;
    //这里NULL和0不能区分
    func(nullptr);   // 想要调用重载函数 void func(char *p)
    func(250);    // 想要调用重载函数 void func(int p)
    cout<<f(1314)<<endl;
    //operator() 的前一对括号表明这是对 C++ 内置操作符 () 的重载。
    //这意味着你正在为该类定义一个自定义的行为，使得它的实例可以像函数那样被调用。
    return 0;
}